home *** CD-ROM | disk | FTP | other *** search
- package netscape.ldap;
-
- import java.util.Enumeration;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class LDAPObjectClassSchema extends LDAPSchemaElement {
- private String superior = "";
- private Vector must = new Vector();
- private Vector may = new Vector();
- private boolean auxiliary = false;
-
- public LDAPObjectClassSchema(String var1, String var2, String var3, String var4, String[] var5, String[] var6) {
- super(var1, var2, var4);
- super.attrName = "objectclasses";
- this.superior = var3;
-
- for(int var7 = 0; var7 < var5.length; ++var7) {
- this.must.addElement(var5[var7]);
- }
-
- for(int var8 = 0; var8 < var6.length; ++var8) {
- this.may.addElement(var6[var8]);
- }
-
- }
-
- public LDAPObjectClassSchema(String var1) {
- super.attrName = "objectclasses";
- var1.trim();
- int var2 = var1.length();
- var1 = var1.substring(2, var2 - 1);
- var2 = var1.length();
- int var3 = var1.indexOf(32);
- super.oid = var1.substring(0, var3);
- char[] var4 = new char[var2];
- var1 = var1.substring(var3 + 1, var2);
- var2 = var1.length();
- var1.getChars(0, var2, var4, 0);
- var3 = 0;
- var2 = var4.length;
-
- while(var3 < var2) {
- String var5;
- for(var5 = ""; var4[var3] == ' '; ++var3) {
- }
-
- int var7;
- for(var7 = var3 + 1; var7 < var2 && var4[var7] != ' '; ++var7) {
- }
-
- if (var3 < var2 && var7 < var2) {
- var5 = new String(var4, var3, var7 - var3);
- var3 = var7;
- if (var5.equalsIgnoreCase("AUXILIARY")) {
- this.auxiliary = true;
- continue;
- }
- } else {
- var3 = var2;
- }
-
- while(var3 < var2 && var4[var3] != '\'' && var4[var3] != '(') {
- ++var3;
- }
-
- var7 = var3 + 1;
- if (var3 >= var2) {
- break;
- }
-
- if (var4[var3] != '\'') {
- Object var8 = null;
- Vector var19;
- if (var5.equalsIgnoreCase("MAY")) {
- var19 = this.may;
- } else {
- if (!var5.equalsIgnoreCase("MUST")) {
- continue;
- }
-
- var19 = this.must;
- }
-
- while(var7 < var2 && var4[var7] != ')') {
- ++var7;
- }
-
- if (var3 < var7 && var7 < var2) {
- String var17 = new String(var4, var3 + 1, var7 - var3 - 1);
- StringTokenizer var9 = new StringTokenizer(var17, " ");
-
- while(var9.hasMoreTokens()) {
- String var10 = var9.nextToken();
- if (!var10.equals("$")) {
- var19.addElement(var10);
- }
- }
- }
- } else {
- while(var7 < var2 && var4[var7] != '\'') {
- ++var7;
- }
-
- if (var3 < var7 && var7 < var2) {
- String var6 = new String(var4, var3 + 1, var7 - var3 - 1);
- if (var5.equalsIgnoreCase("NAME")) {
- super.name = var6;
- } else if (var5.equalsIgnoreCase("DESC")) {
- super.description = var6;
- } else if (var5.equalsIgnoreCase("SUP")) {
- this.superior = var6;
- }
- }
- }
-
- var3 = var7 + 1;
- }
-
- }
-
- public String getSuperior() {
- return this.superior;
- }
-
- public Enumeration getRequiredAttributes() {
- return this.must.elements();
- }
-
- public Enumeration getOptionalAttributes() {
- return this.may.elements();
- }
-
- public String getValue() {
- String var1 = "( " + super.oid + " NAME '" + super.name + "' DESC '" + super.description + "' SUP '" + this.superior + "' ";
- if (this.auxiliary) {
- var1 = var1 + "AUXILIARY ";
- }
-
- var1 = var1 + "MUST ( ";
- int var2 = 0;
-
- for(Enumeration var3 = this.getRequiredAttributes(); var3.hasMoreElements(); var1 = var1 + (String)var3.nextElement()) {
- if (var2 > 0) {
- var1 = var1 + " $ ";
- }
-
- ++var2;
- }
-
- var1 = var1 + " ) MAY ( ";
- Enumeration var8 = this.getOptionalAttributes();
-
- for(int var7 = 0; var8.hasMoreElements(); var1 = var1 + (String)var8.nextElement()) {
- if (var7 > 0) {
- var1 = var1 + " $ ";
- }
-
- ++var7;
- }
-
- var1 = var1 + ") )";
- return var1;
- }
-
- public String toString() {
- String var1 = "Name: " + super.name + "; OID: " + super.oid + "; Superior: " + this.superior + "; Description: " + super.description + "; Required: ";
- int var2 = 0;
-
- for(Enumeration var3 = this.getRequiredAttributes(); var3.hasMoreElements(); var1 = var1 + (String)var3.nextElement()) {
- if (var2 > 0) {
- var1 = var1 + ", ";
- }
-
- ++var2;
- }
-
- var1 = var1 + "; Optional: ";
- Enumeration var6 = this.getOptionalAttributes();
-
- for(int var5 = 0; var6.hasMoreElements(); var1 = var1 + (String)var6.nextElement()) {
- if (var5 > 0) {
- var1 = var1 + ", ";
- }
-
- ++var5;
- }
-
- return var1;
- }
- }
-